package com.swt.gap.service;

import com.swt.gap.common.PageResult;
import com.swt.gap.model.entity.TaskResult;
import com.swt.gap.model.entity.TaskResultWithBLOBs;
import com.swt.gap.model.graphmodel.UpdateTaskResultContentModel;
import com.swt.gap.model.vo.TaskFileVO;
import com.swt.gap.model.vo.TaskResultUpdateVO;
import com.swt.gap.model.vo.taskresult.AnalysisResultVO;
import com.swt.gap.model.vo.taskresult.TaskAnalysisVO;
import com.swt.gap.model.vo.taskresult.TaskAndResult;
import com.swt.gap.model.vo.taskresult.TaskResultListVO;

import java.util.List;

/**
 * @Author tyh
 * @Date 2020/5/8 15:48
 */
public interface TaskResultService {

    Integer addTaskResult(TaskResultWithBLOBs taskResult);

    Integer deleteTaskResult(Integer resultId);

    Integer updateTaskResultInfo(TaskResultUpdateVO taskResultInfo);

    //判断分析结果名是否重名
    Boolean judgeResultName(String resultName, Integer resultId, Integer taskId);

    //重名则加序号创建新名字
    String creatNewName(String resultName, Integer taskId);

    PageResult<TaskAndResult> getTaskResultByKeyword(Integer taskId, String keyword, Integer pageNum, Integer pageSize);

    TaskResultWithBLOBs updateTaskResultContent(UpdateTaskResultContentModel updateTaskResultContentModel);

    TaskResultWithBLOBs viewTaskResult(Integer resultId);

    TaskResultListVO getTaskResultList(Integer taskId);

    List<TaskResultListVO> listAccessTaskResult();

    PageResult<AnalysisResultVO> listAccessResult(Integer pageNum, Integer pageSize, String keyword, Integer userId);
}
